﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using JustinAngel.Neurons.Pages.Main;
using JustinAngel.Neurons.Pages.Search;
using JustinAngel.Neurons.Pages.Splash;
using JustinAngel.Neurons.Pages.VideoPlayer;
using JustinAngel.Neurons.Pages.WebBrowser;

namespace JustinAngel.Neurons.Framework
{
    public class ViewModelLocator
    {
        public static SplashViewModel _SplashViewModel;
        public SplashViewModel SplashViewModel
        {
            get
            {
                if (_SplashViewModel == null)
                    _SplashViewModel = IoC.Get<SplashViewModel>();
                return _SplashViewModel;
            }
            set { _SplashViewModel = value;  }
        }

        public static MainPageViewModel _MainPageViewModel;
        public MainPageViewModel MainPageViewModel
        {
            get
            {
                if (_MainPageViewModel == null)
                    _MainPageViewModel = IoC.Get<MainPageViewModel>();
                return _MainPageViewModel;
            }
            set { _MainPageViewModel = value; }
        }

        public static VideoPlayerViewModel _VideoPlayerViewModel;
        public VideoPlayerViewModel VideoPlayerViewModel
        {
            get
            {
                if (_VideoPlayerViewModel == null)
                    _VideoPlayerViewModel = IoC.Get<VideoPlayerViewModel>();
                return _VideoPlayerViewModel;
            }
            set { _VideoPlayerViewModel = value; }
        }

        public static SearchViewModel _SearchViewModel;
        public SearchViewModel SearchViewModel
        {
            get
            {
                if (_SearchViewModel == null)
                    _SearchViewModel = IoC.Get<SearchViewModel>();
                return _SearchViewModel;
            }
            set { _SearchViewModel = value; }
        }

        public static WebBrowserViewModel _WebBrowserViewModel;
        public WebBrowserViewModel WebBrowserViewModel
        {
            get
            {
                if (_WebBrowserViewModel == null)
                    _WebBrowserViewModel = IoC.Get<WebBrowserViewModel>();
                return _WebBrowserViewModel;
            }
            set { _WebBrowserViewModel = value; }
        }
    }
}
